In computer graphics systems, an image is produced on a visual display screen. The information by which this visual image is generated is stored in a screen refresh random access memory on a one-to-one or one-pixel-to-one-storage site basis. That is, for each pixel of the visual image display, there is a corresponding storage site in the random access memory (RAM) which contains data corresponding to and describing the visual information of that pixel. In order to display the information from the screen refresh RAM, the data from the screen refresh RAM are periodically read out on a line-by-line basis and displayed on a line-by-line basis in the visual display. Typical of these displays are raster scanning devices such as high density television monitors which have a large number of horizontally displayed scan lines.
In order to write information into the screen refresh RAM, an X and a Y address are supplied to the RAM, along with the data to be written thereby. A write enable signal is supplied to the RAM to write the data into the addressed storage site. This process is repeated for each storage site into which data are to be written by supplying a different address for each different storage site being whiten into.
Solids modelling is a task which has traditionally represented heavy computational and RAM access loads. Although a solid can be defined by way of line segments, which in turn define surfaces, the very definition of a solid dictates that certain surfaces of the solid, or portions thereof, will be obscured from view, depending upon the viewing position of the viewer. Thus, as a part of the displaying of solids, these hidden surfaces, or partial surfaces, must be identified and suppressed. The hidden surface problem is one that has been studied widely and is viewed as requiring a significant amount of processing time to implement.
Because solids are non planar, different portions of the solid can reflect light differently than other portions. Thus, shading of the solid is sometimes required to represent these different light intensities due to such curvature. In practice, this shading is performed by defining intensities at selected points for each surface and interpolating intensities for other points on the surface from these defined intensities. Thus, it can be seen that the shading problem can require a significant amount of processing time.